1. Field of the Invention
The present invention generally relates to methods and systems for slant compensation in handwriting and signature recognition. Certain embodiments relate to recognition of a signature written on a digitizer with a stylus by a user.
2. Description of the Related Art
The following descriptions and examples are not admitted to be prior art by virtue of their inclusion within this section.
Many methods and algorithms have been developed for optical or digital character recognition. Of particular interest are methods and algorithms that can be used to recognize handwritten alphanumeric characters. Due to the complexity and variety of handwriting, many different methods and algorithms have been developed that attempt to compensate for differences in handwriting. Such methods and algorithms are generally very complex and yet generate somewhat inaccurate results. For example, some methods and algorithms for recognizing handwriting do not account for variable slant in different handwriting samples or within the same handwriting sample. As used herein, the term “slant” is generally defined as the angle between a vertical element of a handwriting sample and a vertical reference line. The terms “slant” may be commonly used interchangeably with the terms “lean” and “tilt.” As a result, many methods and algorithms for recognizing handwriting may be substantially inaccurate or may even completely fail at recognizing handwriting samples having different slant.
There are, however, some methods and systems that are configured to account for slant in a handwriting sample. For example, as described in U.S. Pat. No. 5,410,141 to Koenck et al., which is incorporated by reference as if fully set forth herein, with signature verification, and also with reading of bar codes at random angles, an obtained digital image can be displayed on a display of a terminal along with a normalization line. The operator can rotate the normalization line with a manual control to indicate any pronounced slant of the signature or to indicate the angle of a single or multiple bar code stored image. The processing program can rotate the stored image, and display the normalized signature, or bar code image prior to validation processing or decoding. However, this method is disadvantageous due to the necessity of manual control which can be time consuming and may lead to inadvertent errors.
Other methods and systems are configured for “automatic” correction of slanting handwriting samples. For example, U.S. Pat. No. 4,701,960 to Scott, which is incorporated by reference as if fully set forth herein, describes methods for signature verification. In particular, Scott teaches verifying signatures by numerous techniques including aligning only a starting point of each signature waveform with each other or aligning an average height of the waveforms with each other over their entire lengths. However, Scott notes that in many instances there will be no correction for relative slant between signatures. In particular, Scott notes that the slant with which a person writes may be one of the key features which distinguishes his signature from others and prevents his signature from being forged. In this instance, relative slant would not be corrected for between the waveforms. According to Scott, failure to correct for relative slant results in a considerably higher score because the signatures will be aligned exactly on top of each other with the integral of the area between the curves much larger than if the relative slant were corrected. Therefore, in many signature applications, Scott teaches that it will be most desirable to not correct for relative slant between the signatures. Therefore, Scott appears to discourage correcting signatures for slant before signature verification.
Another character recognition method and system capable of recognizing slant characters is described in U.S. Pat. No. 4,757,551 to Kobayashi et al., which is incorporated by reference as if fully set forth herein. The system includes a scanner for optically scanning a document having thereon characters such as letters and numerals thereby converting visual character information into electrical character information, which is then converted to binary numbers. The binary converted image data is searched for individual character data and sent to a character feature extraction unit. The contour of each of the characters is determined and processed to determine a feature vector. The resultant feature vector is then supplied to a comparator for comparison with a plurality of reference feature vectors stored in more than one character library for determination or identification of the character data. The character libraries include a first library that includes a plurality of reference feature vectors for characters without inclination and a second library that includes a plurality of reference feature vectors for characters with inclination. Therefore, the character data can be identified irregardless of whether or not the features are inclined.
However, the methods and systems described by Kobayashi et al., have several disadvantages. For example, a character library must be created and stored for different inclinations. Therefore, the methods and systems described by Kobayashi et al. may be relatively time consuming, inflexible, and expensive. In addition, because there are a finite number of character libraries, there are a finite number of inclinations that can be accounted for by the character libraries. As such, the methods and systems described by Kobayashi et al. may be substantially limited in the number of different feature vectors that it can recognize thereby limiting the usefulness and accuracy of these methods and systems.
U.S. Pat. No. 4,864,628 to Scott, which is incorporated by reference as if fully set forth herein, describes a method and apparatus for reading printed text using light sensitive scanners. In one such method, a microprocessor may be taught parameters for each reference character. The microprocessor will determine a digital waveform for each character and place this waveform in memory as a reference character. To determine an unknown test character, the digital waveform of the test character is compared to the digital waveform of a reference character. Slant in the test character with respect to the reference character will show only as DC bias or an offset in the digital waveform. The microprocessor is therefore able to match waveforms of similar characters which are slanted with respect to each other by removing any DC bias. After the DC bias is removed, the digital waveforms of the test and reference characters will be exactly on top of each other. The microprocessor determines a score for each reference character with respect to the test character. The microprocessor determine the score by taking the integral of the area between the two curves. The integral with the lowest value will be said to be the correct match of the test character's digital waveform to the reference character's digital waveform.
The methods and systems described in U.S. Pat. No. 4,864,628 to Scott have many of the same disadvantages as the methods and systems described by Kobayashi et al. For example, a waveform must be created and stored for each different reference character. Therefore, the methods and systems described by Scott may be relatively time consuming, inflexible, and expensive. In addition, because there are a finite number of reference characters, there are a finite number of test characters that can be accounted for by these methods. As such, the methods and systems described by Scott may be substantially limited in the number of different test characters that it can recognize thereby limiting the usefulness and accuracy of these methods and systems.
U.S. Pat. No. 4,845,768 to Kochert et al., which is incorporated by reference as if fully set forth herein, describes a method and circuit arrangement for editing slanting characters, particularly handwritten characters. In particular, Kochert et al. describes an apparatus and method for storing signals produced by scanning a character at different angles, successively reading out the stored signals, observing the length of shadow on the base line during the readouts, comparing the length of the shadow to that of other readouts, and selecting the readout with minimum shadow length as the perpendicularly residing character (or non-slanted character) for further processing and recognition. Therefore, Kochert et al. identify the non-slanted character by scanning the character in multiple directions.
The methods of Kochert et al. may be extremely time consuming since determining the non-slanted character involves multiple scans of the character at different angles. In addition, since the non-slanted character is determined by finding the readout of the scans having the shortest possible shadow, it is conceivable that in some instances there may be multiple readouts having the shortest possible shadow (e.g., multiple solutions at opposite angles) that may cause the non-slanted character to be upside down. In this manner, identifying the correct non-slanted character may be largely dependent upon the selection of the first angle at which the character is scanned. Furthermore, it is conceivable that a “cursive” letter, depending on how it is written, may not actually have the shortest possible shadow in the correct scan direction, which may cause the “non-slanted characters” determined by these methods to be actually slanted. Therefore, although the methods of Kochert et al. appear to be relatively simple, they are also time consuming and may be somewhat inaccurate.
Methods and apparatuses for connected and degraded text recognition are also described in U.S. Pat. No. 5,644,648 to Bose et al., which is incorporated by reference as if fully set forth herein. In these methods, stroke identification is performed by first determining the direction of the dominant strokes in the image. Dominant strokes may be identified by scanning the pixel profiles with a preset range of angular directions at small intervals, and choosing the direction of the tallest peaks in the profile. If the direction of the dominant strokes is not vertical, the direction may be normalized by rotating the pixels on an imaginary slanted line (based on the slant angle) such that the pixels fall on a vertical line.
Although the methods described by Bose et al. may be suitable for individual alphanumeric characters and non-cursive text, these methods may be particularly unsuitable for signatures or other cursive handwriting. For example, rotating signatures or other cursive handwriting could be performed either by rotating the entire signature or by segmenting the signature and then rotating individual characters. However, rotating the entire signature would cause the signature to be slanted away from a baseline of the signature thereby reducing the accuracy of verification, recognition, or other processing of the signature. Similarly, segmenting signatures prior to rotation would be extremely difficult, if not impossible, for many signatures and could destroy distinctive features of the signatures that could be used in signature verification or recognition.
Accordingly, it may be desirable to develop a method for recognizing handwriting such as a signature that compensates for slant, tilt, or lean in the handwriting prior to further processing of the handwriting.